Distributed shared memory systems provide a pool of available memory resources that are usable by each processor of the system. Some of the memory resources may be local to a particular processor, while other memory resources may be remote. For example, in some cases, the remote memory resources are accessible over a suitable fabric network. As the communication latencies of fabric networks continue to decline, the usability of such distributed shared memory systems increases. For example, many distributed shared memory systems may be easily scalable to provide increased memory resources as the network of nodes increases.
Due to the distributed nature of the memory resources, each memory resource of a distributed shared memory system may have a different latency or “temporal cost” to access the corresponding memory resource. For example, memory resources local or closer to a particular processor generally may be accessed quicker than those located remote therefrom.